package au.com.acpfg.phylogeny;
import org.knime.core.data.DataRow;
import org.knime.core.data.DataTableSpec;
import org.knime.core.node.BufferedDataContainer;
import org.knime.core.node.BufferedDataTable;
import org.knime.core.node.ExecutionContext;
/**
* All tasks supported by the node must implement this interface and provide a default constructor
*
* @author andrew.cassin
*
*/
public interface RunnableTask {
/**
* Perform the desired phylogenetic task filling the specified container as per
* the table specification returned from <code>this.getOutputSpec()</code>
* @param ec
* @param container
* @throws Exception
*/
public void run(DataRow r, ExecutionContext ec, BufferedDataContainer container) throws Exception;
/**
* Returns the output spec for the task. It is given the input spec so appending
* is possible via <code>new DataTableSpec(inSpec, my_spec)</code>
*/
public DataTableSpec getOutputSpec(DataTableSpec inSpec);
}